gtk4.git
10 years agoAdwaita: Update frame styling
Matthias Clasen [Sat, 31 Oct 2015 23:10:52 +0000 (19:10 -0400)]
Adwaita: Update frame styling

Adapt to the changes in the previous commit.

10 years agoframe: Use an element name instead of a style class
Matthias Clasen [Sat, 31 Oct 2015 23:09:46 +0000 (19:09 -0400)]
frame: Use an element name instead of a style class

Unsurprisingly, the element name is ... frame.

10 years agoLoad settings.ini from all data dirs
Matthias Clasen [Sat, 31 Oct 2015 22:13:29 +0000 (18:13 -0400)]
Load settings.ini from all data dirs

An error in the loading function was making us load the file from
the first data dir repeatedly, instead.

https://bugzilla.gnome.org/show_bug.cgi?id=757377

10 years agowin32: handle WM_DISPLAYCHANGE globally
Paolo Borelli [Thu, 29 Oct 2015 16:20:54 +0000 (17:20 +0100)]
win32: handle WM_DISPLAYCHANGE globally

Instead of handling WM_DISPLAYCHANGE on every GdkWindow, only handle
it on an ad-hoc hidden window we create when opening the display.
This has two reasons:
1) we want emit the display::size-changed signal even if there are no
   gtk windows currently open
2) we want to emit the signal just once and not once for every window

https://bugzilla.gnome.org/show_bug.cgi?id=757324

10 years agomodel button: Propagate state
Matthias Clasen [Sat, 31 Oct 2015 04:08:00 +0000 (00:08 -0400)]
model button: Propagate state

Propagate the state to the CSS node for the indicator.

10 years agoinspector: Show CSS node state
Matthias Clasen [Sat, 31 Oct 2015 04:07:19 +0000 (00:07 -0400)]
inspector: Show CSS node state

This is useful when debugging state propagation issues between
CSS nodes.

10 years agoHighContrast: adjust message dialog styling
Matthias Clasen [Sat, 31 Oct 2015 03:49:44 +0000 (23:49 -0400)]
HighContrast: adjust message dialog styling

10 years agoadwaita: Adjust message dialog styling
Matthias Clasen [Sat, 31 Oct 2015 03:49:17 +0000 (23:49 -0400)]
adwaita: Adjust message dialog styling

10 years agomessage dialog: Use an element name
Matthias Clasen [Sat, 31 Oct 2015 03:48:46 +0000 (23:48 -0400)]
message dialog: Use an element name

10 years agocolor editor: Redo the non-activatable color swatch
Matthias Clasen [Sat, 31 Oct 2015 02:16:18 +0000 (22:16 -0400)]
color editor: Redo the non-activatable color swatch

Use a .activatable style class on the color swatch and tie the
hover effect to it. The color editor simply removes this class
now to get an inert color swatch.

This is more flexible and lets us avoid referring to the
GtkColorEditor type in the theme.

10 years agoHighContrast: Adapt to color swatch changes
Matthias Clasen [Sat, 31 Oct 2015 01:46:36 +0000 (21:46 -0400)]
HighContrast: Adapt to color swatch changes

This needs more work and simplification.

10 years agoAdwaita: Adapt to color swatch changes
Matthias Clasen [Sat, 31 Oct 2015 01:44:19 +0000 (21:44 -0400)]
Adwaita: Adapt to color swatch changes

This needs more work and simplification.

10 years agoswatch fixup
Matthias Clasen [Sat, 31 Oct 2015 01:43:50 +0000 (21:43 -0400)]
swatch fixup

10 years agocolor swatch: Convert to CSS nodes
Matthias Clasen [Sat, 31 Oct 2015 01:29:46 +0000 (21:29 -0400)]
color swatch: Convert to CSS nodes

Convert GtkColorSwatch to use the two elements colorswatch and
image.

10 years agotext view: Add css node docs
Matthias Clasen [Sat, 31 Oct 2015 01:00:01 +0000 (21:00 -0400)]
text view: Add css node docs

10 years agoHighContrast: Update textview styling
Matthias Clasen [Fri, 30 Oct 2015 23:58:11 +0000 (19:58 -0400)]
HighContrast: Update textview styling

Some updates to make text appear as usual.

10 years agoAdwaita: Update textview styling
Matthias Clasen [Fri, 30 Oct 2015 23:55:42 +0000 (19:55 -0400)]
Adwaita: Update textview styling

Some updates to make text appear as usual. The border windows
probably need some more work.

10 years agotext view: Convert to CSS nodes
Matthias Clasen [Fri, 30 Oct 2015 23:49:02 +0000 (19:49 -0400)]
text view: Convert to CSS nodes

Use subnodes for the border windows, and add children to the right
subnodes.

10 years agotext view: Set an element name
Matthias Clasen [Fri, 30 Oct 2015 22:11:13 +0000 (18:11 -0400)]
text view: Set an element name

And it will be...drumroll...textview.

10 years agoicon view: Add an element name
Matthias Clasen [Fri, 30 Oct 2015 21:44:36 +0000 (17:44 -0400)]
icon view: Add an element name

Not surprising anybody, I decided to call it iconview.

10 years agoHighContrast: Adapt to changed treeview names
Matthias Clasen [Fri, 30 Oct 2015 21:38:04 +0000 (17:38 -0400)]
HighContrast: Adapt to changed treeview names

10 years agoAdwaita: Adapt to changed treeview names
Matthias Clasen [Fri, 30 Oct 2015 21:37:32 +0000 (17:37 -0400)]
Adwaita: Adapt to changed treeview names

10 years agotree view: Rename and document element names
Matthias Clasen [Fri, 30 Oct 2015 21:25:43 +0000 (17:25 -0400)]
tree view: Rename and document element names

The names are now treeview and header.

10 years agoHighContrast: Update font button styling
Matthias Clasen [Fri, 30 Oct 2015 21:18:06 +0000 (17:18 -0400)]
HighContrast: Update font button styling

Use the new element name and style class.

10 years agoAdwaita: Update font button styling
Matthias Clasen [Fri, 30 Oct 2015 21:17:41 +0000 (17:17 -0400)]
Adwaita: Update font button styling

Use the new element name and style class.

10 years agofont button: Add an element name
Matthias Clasen [Fri, 30 Oct 2015 21:09:59 +0000 (17:09 -0400)]
font button: Add an element name

Give this GtkButton subclass element name button and style class .font.

10 years agoHighContrast: Update paned styling
Matthias Clasen [Fri, 30 Oct 2015 16:52:47 +0000 (12:52 -0400)]
HighContrast: Update paned styling

Adapt to the new element names.

10 years agoAdwaita: Update paned styling
Matthias Clasen [Fri, 30 Oct 2015 16:50:32 +0000 (12:50 -0400)]
Adwaita: Update paned styling

Adapt to the new element names in the previous commit.

This also adds back a selected state which gets used
for when the focus is placed on the separator with F8,
just so this functionality is not forgotten.

10 years agopaned: Convert to CSS nodes
Matthias Clasen [Fri, 30 Oct 2015 16:44:24 +0000 (12:44 -0400)]
paned: Convert to CSS nodes

Add a subnode for the separator, and use it for drawing.

10 years agoUpdated POTFILES.in and POTFILES.skip
Piotr Drąg [Fri, 30 Oct 2015 18:52:41 +0000 (19:52 +0100)]
Updated POTFILES.in and POTFILES.skip

10 years agoUpdate the generated css for the previous commit
Matthias Clasen [Fri, 30 Oct 2015 18:51:41 +0000 (14:51 -0400)]
Update the generated css for the previous commit

10 years agopopover: Use element name
Timm Bäder [Fri, 30 Oct 2015 14:08:18 +0000 (15:08 +0100)]
popover: Use element name

Pick "popover" and add .menu for popover menus

10 years agoplacesview: vertically align path labels
Georges Basile Stavracas Neto [Thu, 29 Oct 2015 12:14:57 +0000 (10:14 -0200)]
placesview: vertically align path labels

The current situation is somewhat sad, with the path
label totally misaligned throughout the rows.

This is fixed by using a size group for the path labels,
so they all have the same allocated size (with the max
of 15 chars). Also, instead of hiding the eject button,
set it child-invisible, so it is hidden and yet it's size
is allocated by GtkBox.

https://bugzilla.gnome.org/show_bug.cgi?id=757303

10 years agoAdwaita: fix vertical switch styling
Lapo Calamandrei [Fri, 30 Oct 2015 12:17:52 +0000 (13:17 +0100)]
Adwaita: fix vertical switch styling

10 years agoAdwaita: fix switch sizing
Lapo Calamandrei [Fri, 30 Oct 2015 11:53:44 +0000 (12:53 +0100)]
Adwaita: fix switch sizing

moving -GtkSwitch-slider-width and -GtkSwitch-slider-height from
the GtkSwitch selector to the * wildcard selector as other style
props.

10 years agoinspector: Drop the style property list
Matthias Clasen [Fri, 30 Oct 2015 10:49:57 +0000 (06:49 -0400)]
inspector: Drop the style property list

Style properties are now shown for each CSS node in the
CSS node tab, so we don't need a separate per-widget tab
for this.

10 years agoinspector: Drop the style classes list
Matthias Clasen [Fri, 30 Oct 2015 10:37:27 +0000 (06:37 -0400)]
inspector: Drop the style classes list

Style classes can now be added/removed for each CSS node in
the CSS node tab, so we don't need a separate per-widget tab
for this.

10 years agoUpdated Hebrew translation
Yosef Or Boczko [Fri, 30 Oct 2015 10:26:52 +0000 (12:26 +0200)]
Updated Hebrew translation

10 years agomenu button: Revisit style class one more time
Matthias Clasen [Fri, 30 Oct 2015 05:21:13 +0000 (01:21 -0400)]
menu button: Revisit style class one more time

Use .popup, which is already in use elsewhere, fits better with
the other button differentiating style classes, and does not
interfere with menus.

10 years agoHighContrast: Update color button styling
Matthias Clasen [Fri, 30 Oct 2015 05:16:49 +0000 (01:16 -0400)]
HighContrast: Update color button styling

Adapt to the previous commit.

10 years agoAdwaita: Update color button styling
Matthias Clasen [Fri, 30 Oct 2015 05:16:26 +0000 (01:16 -0400)]
Adwaita: Update color button styling

Adapt to the previous commit.

10 years agocolor button: Add a style class
Matthias Clasen [Fri, 30 Oct 2015 05:15:57 +0000 (01:15 -0400)]
color button: Add a style class

Add a .color style class to differentiate this button from the
normal ones.

10 years agoUpdated Czech translation
Marek Černocký [Fri, 30 Oct 2015 06:12:33 +0000 (07:12 +0100)]
Updated Czech translation

10 years agoHighContrast: Update headerbar styling
Matthias Clasen [Fri, 30 Oct 2015 05:09:18 +0000 (01:09 -0400)]
HighContrast: Update headerbar styling

Adapt to the previous commit.

10 years agoAdwaita: Update headerbar styling
Matthias Clasen [Fri, 30 Oct 2015 05:08:30 +0000 (01:08 -0400)]
Adwaita: Update headerbar styling

Adapt to the previous commit.

10 years agoheaderbar: Use an element name instead of a style class
Matthias Clasen [Fri, 30 Oct 2015 05:07:58 +0000 (01:07 -0400)]
headerbar: Use an element name instead of a style class

Use the element name headerbar.

10 years agoRevisit menu button style
Matthias Clasen [Fri, 30 Oct 2015 05:07:27 +0000 (01:07 -0400)]
Revisit menu button style

Change the style class to .menubutton, to avoid interference
from GtkMenu theming.

10 years agomenu button: Add a style class
Matthias Clasen [Fri, 30 Oct 2015 04:54:37 +0000 (00:54 -0400)]
menu button: Add a style class

Add a .menu style class to differentiate menu buttons from normal
ones.

10 years agoscale button: Add a style class
Matthias Clasen [Fri, 30 Oct 2015 04:51:13 +0000 (00:51 -0400)]
scale button: Add a style class

Add a .scale style class to differentiate scale buttons from normal
ones.

10 years agolink button: Add a style class
Matthias Clasen [Fri, 30 Oct 2015 04:50:48 +0000 (00:50 -0400)]
link button: Add a style class

Add a .link style class to differentiate link buttons from normal
buttons.

10 years agoHighContrast: Updates for recent changes
Matthias Clasen [Fri, 30 Oct 2015 04:38:43 +0000 (00:38 -0400)]
HighContrast: Updates for recent changes

This is bit of a grab-bag, it includes fixes for spin buttons,
entries, buttons.

10 years agoAdwaita: Adapt to the button changes
Matthias Clasen [Fri, 30 Oct 2015 04:31:02 +0000 (00:31 -0400)]
Adwaita: Adapt to the button changes

The updates here cover the various button variants.

10 years agomodel button: Convert to CSS nodes
Matthias Clasen [Fri, 30 Oct 2015 04:29:47 +0000 (00:29 -0400)]
model button: Convert to CSS nodes

Follow the same approach as used for the toggle button family:
Keep the button element name for button-like rendering, and
use a distinct modelbutton name otherwise, and add a subnode
for the indicator with name check or radio.

10 years agotoggle button: Convert to css nodes
Matthias Clasen [Fri, 30 Oct 2015 04:27:13 +0000 (00:27 -0400)]
toggle button: Convert to css nodes

Convert GtkToggleButton and its subclasses to CSS nodes.
Keep the button element name for when we want to render
these button-like (but with .toggle, .check and .radio
style classes for differentiation).

When we want to render them with an indicator, use distinct
element names checkbutton and radiobutton, and add a subnode
for the indicator with name check or radio.

10 years agolockbutton: Revisit element name
Matthias Clasen [Fri, 30 Oct 2015 04:26:04 +0000 (00:26 -0400)]
lockbutton: Revisit element name

Instead of a separate element name, keep button, and just
add a .lock style class, to inherit the button theming.

10 years agoAdwaita: button fixes
Matthias Clasen [Fri, 30 Oct 2015 03:17:41 +0000 (23:17 -0400)]
Adwaita: button fixes

10 years agotogglebutton: Add a style class
Matthias Clasen [Fri, 30 Oct 2015 03:04:47 +0000 (23:04 -0400)]
togglebutton: Add a style class

This lets us differentiate toggle buttons from plain buttons
with button.toggle, without having to redo all the styling.

10 years agobutton: Use an element name instead of a style class
Matthias Clasen [Fri, 30 Oct 2015 02:55:29 +0000 (22:55 -0400)]
button: Use an element name instead of a style class

10 years agowidget: Queue redraw on gtk_widget_queue_allocate()
Benjamin Otte [Fri, 30 Oct 2015 01:06:01 +0000 (02:06 +0100)]
widget: Queue redraw on gtk_widget_queue_allocate()

Mirror the behavior of gtk_widget_queue_resize() and always queue a
redraw. If we ever want to cause allocates without redraws we can add
gtk_widget_queue_allocate_no_redraw() then.

I had initially assumed gtk_widget_size_allocate() would take care of
queueing redraws, but it does not do that when neither size nor position
change. And that is obviously what's happening after
gtk_widget_queue_allocate().

Fixes buttons sometimes not redrawing (the record button in
widget-factory after locking it, all buttons when switching to the dark
theme).

10 years agoAssistant: Fix page rmoval
Matthias Clasen [Thu, 29 Oct 2015 23:21:47 +0000 (19:21 -0400)]
Assistant: Fix page rmoval

We have to remove the page itself from the intermediate box
first, before removing the box from the notebook. Otherwise,
reffing the page to keep it alive is ineffective: the box
gets destroyed, and that destruction recurses over the page.

This fixes the problem in
https://bugzilla.gnome.org/show_bug.cgi?id=756385

10 years agoAdd a more complex widget in the flipping assistant
Sébastien Granjoux [Mon, 26 Oct 2015 20:52:34 +0000 (21:52 +0100)]
Add a more complex widget in the flipping assistant

This reproduces the problem from bug
https://bugzilla.gnome.org/show_bug.cgi?id=756385

10 years agoAdwaita: Update double-border tweak for scrolled windows
Florian Müllner [Thu, 29 Oct 2015 17:20:27 +0000 (18:20 +0100)]
Adwaita: Update double-border tweak for scrolled windows

Since commit b6dbfc791f, GtkViewPort uses an element name.

10 years agoplacessidebar: do not crash if uris is NULL
Dominique Leuenberger [Thu, 29 Oct 2015 12:56:18 +0000 (13:56 +0100)]
placessidebar: do not crash if uris is NULL

On Drag'n'Drop actions across system boundaries (VM host to guest), the
happen to be null.

https://bugzilla.gnome.org/show_bug.cgi?id=757298

10 years agospinbutton: Don't set .entry
Benjamin Otte [Thu, 29 Oct 2015 15:03:15 +0000 (16:03 +0100)]
spinbutton: Don't set .entry

Also fix Adwaita to not use .entry anymore

10 years agosearchentry: Fix includes
Benjamin Otte [Thu, 29 Oct 2015 14:55:28 +0000 (15:55 +0100)]
searchentry: Fix includes

10 years agoviewport: Add an element name to the css node
Matthias Clasen [Thu, 29 Oct 2015 11:47:31 +0000 (07:47 -0400)]
viewport: Add an element name to the css node

This lets us avoid hardcoding the type in CSS.

10 years agosearchbar: Add an element name to the css node
Matthias Clasen [Thu, 29 Oct 2015 11:43:30 +0000 (07:43 -0400)]
searchbar: Add an element name to the css node

This lets us avoid hardcoding the type in CSS.

10 years agoactionbar: Add an element name to the css node
Matthias Clasen [Thu, 29 Oct 2015 11:08:15 +0000 (07:08 -0400)]
actionbar: Add an element name to the css node

This lets us avoid hardcoding the type in CSS.

10 years agostatusbar: Add an element name to the css node
Matthias Clasen [Thu, 29 Oct 2015 11:01:57 +0000 (07:01 -0400)]
statusbar: Add an element name to the css node

This lets us avoid hardcoding the type in CSS.

10 years agosearch entry: Add a style class
Matthias Clasen [Thu, 29 Oct 2015 03:58:39 +0000 (23:58 -0400)]
search entry: Add a style class

There should be little need to have separate styling for search
entries, so a separate name would be a bit overkill.

10 years agolock button: Add an element name
Matthias Clasen [Thu, 29 Oct 2015 03:57:57 +0000 (23:57 -0400)]
lock button: Add an element name

10 years agoentry, spinbutton: Finish css node conversion
Matthias Clasen [Thu, 29 Oct 2015 03:32:57 +0000 (23:32 -0400)]
entry, spinbutton: Finish css node conversion

This commit creates entry and button subnodes for the buttons
in GtkSpinButton. The nodes are ordered like this for horizontal

  spinbutton
  + entry
    + image.left
    + image.right
    + progress
  + button.down
  + button.up

and like this for vertical ones:

  spinbutton
  + button.down
  + entry
  + button.up

This arrangement requires cooperation from GtkEntry to place
the entry subnodes correctly, and some small changes in the theme.

This commit also fixes progress rendering in vertical spin buttons.

10 years agowip: spinbutton
Matthias Clasen [Thu, 29 Oct 2015 01:55:07 +0000 (21:55 -0400)]
wip: spinbutton

10 years agospinbutton: Trivial cleanup
Matthias Clasen [Wed, 28 Oct 2015 20:35:16 +0000 (16:35 -0400)]
spinbutton: Trivial cleanup

Use g_clear_object in a few places.

10 years agowidget: Queue resize on parent on show/hide
Benjamin Otte [Thu, 29 Oct 2015 00:03:09 +0000 (01:03 +0100)]
widget: Queue resize on parent on show/hide

When gtk_widget_show() or gtk_widget_hide() is called, don't queue a
resize on the widget itself but on the parent.

The widget itself may already be marked as in need of a resize and
the call would be optimized out and never reach the parent.
The parent size will change though because a child widget just changed
its visibility.

Fixes a bunch of issues with menus appearing black, toolbas not hiding
in widget-factory and also various reftests.

10 years agocontainer: Don't keep our own variable trying to track need for resize
Benjamin Otte [Thu, 8 Oct 2015 11:41:50 +0000 (13:41 +0200)]
container: Don't keep our own variable trying to track need for resize

Insteaad, introduce gtk_widget_needs_allocate() and use that.

10 years agowidget: Make invisible widgets not propagate resizes
Benjamin Otte [Thu, 1 Oct 2015 20:38:31 +0000 (22:38 +0200)]
widget: Make invisible widgets not propagate resizes

Do not queue a resize on the parent if the widget is not visible.
Invisible widgets do not influence the parents size.

10 years agowindow: Don't queue resizes when inhibiting resizes
Benjamin Otte [Thu, 1 Oct 2015 20:36:34 +0000 (22:36 +0200)]
window: Don't queue resizes when inhibiting resizes

Since the frame clock, the inhibit happens on the GDK level, so this
code is no longer necessary.

10 years agowidget: Make gtk_widget_queue_allocate() not resize
Benjamin Otte [Tue, 29 Sep 2015 21:19:07 +0000 (23:19 +0200)]
widget: Make gtk_widget_queue_allocate() not resize

This commit toggles the big switch. We now don't run size_allocate()
from the toplevel up anymore in cases where we don't need to.

Things might be broken in subtle ways as a result of this commit. We'll
have to find them and fix them.

10 years agowidget: Track if a child needs an allocation
Benjamin Otte [Tue, 29 Sep 2015 19:04:07 +0000 (21:04 +0200)]
widget: Track if a child needs an allocation

This is not used so far.

10 years agowidget: Refactor function
Benjamin Otte [Mon, 28 Sep 2015 19:57:25 +0000 (21:57 +0200)]
widget: Refactor function

Turn it from a loop into tail-calling itself.

10 years agowidget: Move resize function into gtkwidget.c
Benjamin Otte [Mon, 28 Sep 2015 19:54:23 +0000 (21:54 +0200)]
widget: Move resize function into gtkwidget.c

There's no sizegroup specific code left in it, but lots of
widget-specifics.

10 years agosizegroup: Merge function into only caller
Benjamin Otte [Mon, 28 Sep 2015 19:17:21 +0000 (21:17 +0200)]
sizegroup: Merge function into only caller

10 years agosizegroup: Simplify widget's size group invalidation
Benjamin Otte [Mon, 28 Sep 2015 19:08:57 +0000 (21:08 +0200)]
sizegroup: Simplify widget's size group invalidation

Since we do not queue resizes twice anymore, we can just walk the list
of groups without deduplication.

10 years agosizegroup: Skip resizes on widgets that have resize queued
Benjamin Otte [Mon, 28 Sep 2015 03:48:57 +0000 (05:48 +0200)]
sizegroup: Skip resizes on widgets that have resize queued

Widgets that already have a resize queued don't need to walk the whole
parent chain and queue another resize. It's enough to do it once per
resize.

This also means that sizegroups cannot use the shortcut of just
invalidating the first widget in the group anymore. That widget might
already have a resize queued while others don't.

10 years agowidget: Warn on calls to queue_resize() during size_allocate()
Benjamin Otte [Mon, 28 Sep 2015 03:42:04 +0000 (05:42 +0200)]
widget: Warn on calls to queue_resize() during size_allocate()

This happens way too much, so it's disabled unless GTK_DEBUG=geometry is
on.

Also, we can't detect it in the call to queue_resize() yet, only during
size_allocate(), so the warning comes after the signal emission.

10 years agowidget: Clear pending resizes after size_allocate()
Benjamin Otte [Mon, 28 Sep 2015 03:23:32 +0000 (05:23 +0200)]
widget: Clear pending resizes after size_allocate()

This catches the cases where widgets call gtk_widget_queue_resize()
in their size_allocate() callback.

10 years agowidget: Warn if size-unqueried widgets get allocated
Benjamin Otte [Mon, 28 Sep 2015 03:21:06 +0000 (05:21 +0200)]
widget: Warn if size-unqueried widgets get allocated

Widgets should have gtk_widget_get_preferred_width/height() called
on them before gtk_widget_size_allocate() gets called.
Add a check for this.

10 years agowidget: Add a resize_needed flag
Benjamin Otte [Mon, 28 Sep 2015 00:19:25 +0000 (02:19 +0200)]
widget: Add a resize_needed flag

... and API to set and unset it.

It is set when gtk_widget_queue_resize() is called.
It is unset when gtk_widget_get_preferred_width/height() is called.

So far it is not used.

10 years agowidget: Add a function that does actual resize
Benjamin Otte [Sun, 27 Sep 2015 10:29:05 +0000 (12:29 +0200)]
widget: Add a function that does actual resize

It's just shuffling code around.

10 years agosizegroup: Merge function into only caller
Benjamin Otte [Fri, 18 Sep 2015 02:04:21 +0000 (04:04 +0200)]
sizegroup: Merge function into only caller

Both functions were running the same loop. Just running the loop once
seems advantageous.

10 years agosizegroup: Don't invalidate over resize containers.
Benjamin Otte [Wed, 16 Sep 2015 20:56:56 +0000 (22:56 +0200)]
sizegroup: Don't invalidate over resize containers.

Before this commit, a widget tree like this:
  Window
    AnyContainer (part of SizeGroup1)
      GtkClutterEmbed
        SomeWidget
when calling gtk_widget_queue_resize(SomeWidget), would invalidate
SizeGroup1, when it should have stopped at the GtkClutterEmbed (which is
a RESIZE_IMMEDIATE child).

10 years agosizegroup: Refactor function
Benjamin Otte [Fri, 18 Sep 2015 01:49:09 +0000 (03:49 +0200)]
sizegroup: Refactor function

Get rid of continues in loop. This allows doing more complex things in
future commits.

10 years agosizegroup: Refactor function
Benjamin Otte [Fri, 18 Sep 2015 01:41:12 +0000 (03:41 +0200)]
sizegroup: Refactor function

10 years agosizegroup: Remove special case before loop
Benjamin Otte [Tue, 15 Sep 2015 20:11:35 +0000 (22:11 +0200)]
sizegroup: Remove special case before loop

The loop actually does the right thing already. There's no need to
complicate things.

10 years agosizegroup: refactor
Benjamin Otte [Tue, 15 Sep 2015 20:10:26 +0000 (22:10 +0200)]
sizegroup: refactor

The code looks a lot less dangerous if it doesn't look like we're
casting a random widget to a container.

10 years agosizegroup: Fold function into only caller
Benjamin Otte [Tue, 15 Sep 2015 20:08:55 +0000 (22:08 +0200)]
sizegroup: Fold function into only caller

10 years agosizegroup: Move container function into its only caller
Benjamin Otte [Tue, 15 Sep 2015 19:57:49 +0000 (21:57 +0200)]
sizegroup: Move container function into its only caller

10 years agowidget: Use gtk_widget_queue_allocate() when clip changes
Benjamin Otte [Wed, 16 Sep 2015 21:16:44 +0000 (23:16 +0200)]
widget: Use gtk_widget_queue_allocate() when clip changes

There's no need to queue a full resize there.

10 years agoAPI: widget: Add gtk_widget_queue_allocate()
Benjamin Otte [Mon, 14 Sep 2015 15:56:05 +0000 (17:56 +0200)]
API: widget: Add gtk_widget_queue_allocate()

This is so widgets can queue a rerun of their allocation logic, but
without triggering resizes everywhere.

For now, it just calls gtk_widget_queue_resize().